The convergence of the mobile telephone network, the static telephone network, and the IP network provides a myriad of communication options for users. If one seeks to contact another individual, he or she may do so by electronic mail or e-mail, instant messaging, wired or wireless telephone, personal computer, pager, personal digital assistant or PDA, and Unified Messaging or UM systems, to name but a few. With so many options, it is difficult, if not impossible, to determine which option at a given point in time will provide the caller with the highest likelihood of contacting the desired individual or callee. Trial and error and guesswork are the typical techniques used to contact the callee, which more often than not leads to a waste of time and frustration on the part of the caller.
Various attempts have been made to provide a presence aware network, which would temporally track an individual's usage of selected communication devices to provide a contactor with the highest likelihood of contacting the individual. Other mechanisms look to that mode a contactee prefers based on presence information such as calendar entries, time of day, etc.
More recently, the Session Initiation Protocol or SIP (which is a simple signaling/application layer protocol for data network multimedia conferencing and telephony) has been developed to provide a degree of presence awareness in a communication network. Although other protocols are equally supportive of presence concepts, SIP provides an illustrative basis for supporting this functionality.
In SIP, systems and proxy servers can provide services such as call forwarding, callee and caller number delivery (where numbers can be any naming scheme such as a conventional URL format), personal mobility (the ability to reach a callee under a single, location-independent address even when the callee changes terminals), terminal-type negotiation and selection (e.g., a caller can be given a choice on how to reach the callee), mobile phone answering service, terminal capability negotiation, caller and callee authentication, blind and supervised call transfer, invitations to multicast conferences, etc.
To provide these varied services, SIP uses a relatively simple message system, namely an “INVITE” message (with the caller's codec preferences) and an “OK” message (with the callee's codec preferences), SIP uses, and various software entities, namely registrars which maintain a map of the addresses of a given user at the current time, proxies which perform call routing, session management, user authentication, redirect functions, and routing to media gateways, redirect servers which perform a subset of forwarding functions, and SIP location servers which maintain user profiles and provide subscriber registration. “Registration” is a mechanism whereby a user's communication device registers with the network each time he or she comes online and individual profiles are accessed that specify information for routing based on a number of different criteria.